const useCurrentTime = () => {
  const currentTime = ref<string>()
  const timer = ref()

  const startTimer = () => {
    timer.value = setInterval(() => {
      updateTimer()
    }, 1000)
  }
  
  const endTimer = () => {
    clearInterval(timer.value)
  }
  
  const updateTimer = () => {
    const date = new Date()
    const year = date.getFullYear()
    const month = String(date.getMonth() + 1).padStart(2, '0')
    const day = String(date.getDate()).padStart(2, '0')
    const hours = String(date.getHours()).padStart(2, '0')
    const minutes = String(date.getMinutes()).padStart(2, '0')
    const seconds = String(date.getSeconds()).padStart(2, '0')
    currentTime.value = `${year}年${month}月${day}日${hours}时${minutes}分${seconds}秒`
  }
  
  onMounted(() => {
    startTimer()
  })
  
  onBeforeUnmount(() => {
    endTimer()
  })

  return {
    currentTime
  }
}

export default useCurrentTime